#!/bin/bash

###
# nfs 高可用切换监控脚本
###
# 发生高可用切换时自动重新挂载 nfs
#
# PROBE_FILE 文件用于识别 nfs 是否挂载成功，nfs 远程目录中必须有这个文件，否则将无法正确进行判断
###

MOUNT_DIR='/mnt/nfs'
NFS_DIR='172.5.1.200:/nfs_data'
PROBE_FILE='nfs_status_file.txt'

while true; do
    if ! timeout 2s test -e "${MOUNT_DIR}/${PROBE_FILE}"; then
        timeout 5s umount -lf "${MOUNT_DIR}"
        timeout 5s mount -t nfs "${NFS_DIR}" "${MOUNT_DIR}"
    fi
    sleep 1
done
